
Position Born is an operator that conditionally creates particles
at a specific position in space.
While the Position Born operator creates particles on its own without needing
any input data streams, like most other operators in thinkingParticle
, it can be controlled in a rule-based manner. Be aware that the ON input
data stream can be connected (through another collection of operators
and conditions) and through its connection it can create some advanced
and amazing effects. Make sure to read the description about the Pistol
Shot option of this operator to see what can be achieved.
Time - (Time) This input
data stream is used to define the local time for the operator when the
user wants to override the default system time.
On - (Bool) This input data stream determines whether the operator
is considered 'on' or 'off.' You can connect other operators to this input
channel such as a Bool Helper to activate/deactivate
the whole operator.
Particle - (Particle) - This input data stream reads in the currently
selected particle group to the Position Born operator.
Position - (Position) This input data stream feeds a position
value in and sets the point in space used for particle emission. Be aware
that this position input is not needed when a Particle input (above) is
connected unless you wish to create particles in a different location
(or perhaps set an offset based on another rule).
Speed - (Speed) This input data stream sets the speed for the
particles generated within the Position Born operator.
Direction - (Direction) This input data stream sets the directional
vector for the emission of the particles created within the Position Born
operator.
Size - (Size) This input data stream sets the size in world units
of the particles created within the Position Born operator.
Mass - (Mass) This input data stream sets the mass of the particles
created within the Position Born operator.
Spin - (Spin) This input data stream is used to provide the angular
direction value for the born particles to use for their motion.
Alignment - (Alignment) This input data stream is used to set
the initial alignment of the particles when they are born.
Life Span - (Life Span) This input data stream supplies the particle
life span for all particles created within the Position Born operator.
Life Variation - (Scalar) This input data stream provides a variation
amount for the particle life span for all particles created within the
Position Born operator.
Speed Variation - (Scalar) This input data stream reads in a variation
amount for the particle speed for all particles created within the Position
Born operator.
Direction Variation - (Angle) This input data stream provides
a variation amount for the particle emission direction for all particles
created within the Position Born operator.
Size Variation - (Scalar) This input data stream provides a variation
amount for the particle size in world units for all particles created
within the Position Born operator.
Mass Variation - (Scalar) This input data stream provides a variation
amount for the particle mass for all particles created within the Position
Born operator.
Distance - (Scalar) This input data stream supplies an Emit Distance
(offset) to the position where all of the particles are created within
the Position Born operator.
Distance Variation - (Scalar) This input data stream supplies
a variation to the Emit Distance (offset) for the position where all of
the particles are created within the Position Born operator.
Birth Type - (Integer) This input data stream sets which of the
three birth types will be used for the creation of particles (e.g. - Count,
Particles / s, Pistol Shot). The range of integer values goes from 0 to
2, with 0 = Count, 1 = Particles / s, 2 = Pistol Shot.
Count - (Integer) This input data stream provides the value for
the number of particles to be created at any time. In order for the connected
operator to be used, the Birth Type input must be set to Count
in the rollout, or there must be a connected operator that sets the Birth
Type to 0.
Rate - (Scalar) This input data stream provides the value for
the number of particles to be created per second. In order for the connected
operator to be used, the Birth Type input must be set to Particles
/ s in the rollout, or there must be a connected operator that
sets the Birth Type to 1.
Shot - (Integer) This input data stream provides the value for
the number of particles to be created at one time. In order for the connected
operator to be used, the Birth Type input must be set to Pistol
Shot in the rollout, or there must be a connected operator that
sets the Birth Type to 2.
Born Particle - (Particle)
This output data stream sends particle data for newly created particles
to other operators. Every particle birth will activate all rules connected
to this particle data stream. As a result , this can be used to directly
assign a value to the particle.
Particle Frame Counter - (Integer) This output data stream provides
a "counter-like" function that holds the current number of created
particles at the given frame. This counter is reset per frame
and starts over again at 0. As a result, you can use this output data
when you want to trigger other rules based on the creation of a certain
number of particles.
Do not confuse this value with the lifetime particle ID every particle has.
*Particle Animation Counter - (Integer) This output
data stream provides a "counter-like" function that holds the
current number of created particles at the given point in the animation.
This counter is NOT reset per frame and accumulates the total number of
particles created over the course of the animation. As a result, you can
use this output data when you want to trigger other rules based on the
creation of a certain number of particles.

Group - When particles are created, a target particle group must
be selected. Choose any particle group from this group dropdown list to
store the newly created particles in.
Count - When this radio button is selected the spinner to it's
right sets the maximum amount of particles that will be created at any
time.
Particles / (s) - When this radio button is selected the spinner
to its right determines how many particles per second are created. Remember
this simple formula when determining how many particles will be emitted
per frame: number of seconds = amount of frames/FPS rate. This option
is most useful for fast moving objects such as rocket trails, because
there is no frame dependency that might cause trouble.
Pistol Shot - When this radio button is selected, particle creation
is set to go all at once. Be aware that you can trigger an On/Off activation
cycle to continually emit blocks of particles from the Position Born operator.
In contrast to standard 3ds Max particle systems, this feature gives you
the ability to exactly control the number of particles born per activation
event. Connecting an animated Bool operator to the On
input data stream can help create this kind of effect.

In the sample shown above, particles create Teapot objects on impact on
a ground plane. The UDeflector collision output will activate the ON input
data stream within the Position Born operator whenever a particle hits
a deflector. When such an event occurs, Position Born becomes active and
creates a new Teapot object, because the Pistol Shot value is set to 1
particle per activation. The rule setup as shown above is the preferred
one.
Per Call - when checked, new particles will be created on each
call of this operator. Note this feature is only valid for the pistol
shot mode! With every call of the operator, a particle is created. In
all other cases particles will be created when the On input switches from
False to True.
Life Span - This spinner sets the maximum life time a particle
may have before it is killed.
Variation [%] - This spinner assigns different Life Span values
for each particle created by Position Born. A Variation value of 100%
means that every particle created will get a different Life Span value.
Speed - This spinner defines the initial speed of the particles
born by the operator.
Variation [%] - This spinner assigns different Speed values for
each particle created by Position Born. A Variation value of 100% means
that every particle created will get a different Speed value.
Direction - The three direction spinners define the directional
vector for the newly created particles. By changing the X, Y and Z values,
any direction vector may be defined.
Variation [*] - This spinner assigns different directional values
for each particle created by Position Born. A Variation value of 100%
means that every particle created will get a different direction value.
Size - This spinner sets a specific particle size when a particle
is created. Be aware that the size value is measured in world units.
Variation [%] - This spinner assigns different size values for
each particle created by Position Born. A Variation value of 100% means
that every particle created will get a different Size value.
Mass - This spinner sets a specific mass for all particles created
by Position Born.
Variation [%] - This spinner assigns different Mass values for
each particle created by Position Born. A Variation value of 100% means
that every particle created will get a different Mass value.
Emit Distance - By default, all particles created by Position
Born will be created at the position (point) as it is supplied by the
Position input or from the Origin (if no Position input data stream is
connected). This spinner will add an offset along the Direction vector
as set in the X, Y and Z Direction spinners in this operator. So, for
instance, if you've set the Z Direction spinner to 1.0, changing the Emit
Distance value to 15 will offset the emission point up by 15 units.
Variation [%] - This spinner assigns different Emit Distance values
for each particle created by Position Born. A Variation value of 100%
means that every particle created will get a different Emit Distance value.
Random Seed - Each particle generator carries its own random seed.
Change this value to make the particles behave differently from other
Position Born operators.